تقریباً تمام پروژههای حرفهای شرکتهای بزرگی
مانند Siemens، Honeywell، Yokogawa، ABB، Schneider Electric و Emerson ساختار
نرمافزار خود را بر پایه
Function Blockها
طراحی میکنند.
در نرمافزار SIMATIC Manager (STEP7 Classic)، هرچه ابعاد پروژه بزرگتر شود، نیاز به
طراحی نرمافزارهای ساختیافته و قابل توسعه نیز افزایش پیدا میکند. در پروژههای
کوچک ممکن است بتوان تنها با استفاده از FCها منطق کنترل را پیادهسازی کرد، اما در پروژههای
صنعتی بزرگ مانند پالایشگاههای نفت، مجتمعهای پتروشیمی، ایستگاههای تقویت فشار
گاز، نیروگاهها و صنایع فولاد، استفاده از Function Block (FB) به یک
ضرورت مهندسی تبدیل میشود.
در این پروژهها، تجهیزاتی مانند موتورهای الکتریکی، ولوهای کنترلی، اینورترها، سیستمهای PID، پمپها، کمپرسورها و تجهیزات بستهبندی هرکدام دارای وضعیت (State)، پارامترهای اختصاصی و اطلاعاتی هستند که باید بین سیکلهای مختلف اجرای PLC حفظ شوند. این قابلیت تنها با استفاده از FB و Instance Data Block امکانپذیر است. برای آشنایی کامل با ساختار FB ها با این مقاله تخصصی از گروه فنی مهندسی الکترونت همراه باشید.
Function Block (FB) چیست؟
Function Block یا FB یکی از
مهمترین انواع
Program Block در STEP7 است که برای اجرای منطقهای کنترلی دارای حافظه داخلی طراحی شده است.
برخلاف
Function (FC) که پس
از پایان اجرا تمامی دادههای موقت خود را از دست میدهد، FB قادر
است وضعیت داخلی، مقادیر محاسباتی و پارامترهای عملیاتی را در یک Instance Data Block (Instance DB) ذخیره
کرده و در سیکلهای بعدی نیز از آنها استفاده کند.
به بیان ساده، هر FB مانند یک «شیء نرمافزاری» مستقل عمل میکند که
رفتار و دادههای مربوط به یک تجهیز یا یک الگوریتم را در خود نگه میدارد. به
همین دلیل، FBها برای مدلسازی تجهیزاتی که دارای وضعیت و
حافظه هستند، بهترین انتخاب محسوب میشوند.
چرا FB
در پروژههای نفت، گاز و پتروشیمی اهمیت دارد؟
در یک پالایشگاه، صدها تجهیز مشابه وجود دارد؛
برای مثال:
· بیش از ۴۰۰ موتور
الکتریکی
· دهها Control Valve
· صدها ترانسمیتر فشار، دما، سطح و دبی
· سیستمهای PID متعدد
· کمپرسورها و توربینها
· پمپهای فرآیندی
اگر برای هر تجهیز، منطق کنترلی بهصورت جداگانه
نوشته شود، حجم برنامه بهشدت افزایش یافته و نگهداری آن تقریباً غیرممکن خواهد شد.
در مقابل، با طراحی یک FB استاندارد برای هر نوع تجهیز و ایجاد یک Instance DB مستقل برای هر نمونه، میتوان تمامی تجهیزات
مشابه را با یک منطق مشترک و پارامترهای اختصاصی مدیریت کرد. این رویکرد باعث کاهش
زمان توسعه، سادهسازی تست و عیبیابی و افزایش قابلیت توسعه نرمافزار میشود.
تفاوت FB و FC
|
ویژگی |
FB |
FC |
|
حافظه داخلی |
دارد |
ندارد |
|
Instance DB |
دارد |
ندارد |
|
حفظ وضعیت بین سیکلها |
بله |
خیر |
|
مناسب برای تجهیزات دارای State |
بله |
خیر |
|
کاربرد |
موتور، ولو، PID،
کمپرسور |
محاسبات، تبدیل داده، توابع عمومی |
Instance DB چیست؟
یکی از مهمترین ویژگیهای FB،
استفاده از Instance Data
Block است. هر بار که یک FB برای یک تجهیز فراخوانی میشود، یک Instance DB اختصاصی به آن متصل میشود که تمامی وضعیتها،
پارامترها و مقادیر داخلی آن تجهیز را نگهداری میکند.
بهعنوان مثال، اگر در یک واحد فرآیندی ۵۰ موتور وجود داشته باشد و همگی با یک FB کنترل شوند، برای هر موتور یک Instance DB مجزا ایجاد میشود. در نتیجه، هر موتور وضعیت و
دادههای خود را بهصورت مستقل حفظ میکند، در حالی که منطق کنترلی بین همه آنها
مشترک است.
معماری اجرای FB در
STEP7
در زمان اجرای برنامه، CPU از
طریق یکی از
Organization Blockها (معمولاً OB1) وارد سیکل اصلی میشود. هر زمان که دستور
فراخوانی یک FB
اجرا گردد، علاوه بر خود FB، Instance DB مربوط به آن نیز بارگذاری شده و مقادیر ذخیرهشده
در اختیار منطق کنترلی قرار میگیرد. پس از پایان اجرا، تمامی تغییرات در Instance DB ذخیره شده و در سیکل بعدی نیز قابل استفاده
خواهند بود.
این ساختار، FB را به
گزینهای ایدهآل برای کنترل تجهیزاتی تبدیل میکند که نیاز به حفظ وضعیت، شمارندهها،
تایمرها یا پارامترهای فرآیندی دارند.
مزایای استفاده از FB
· طراحی ماژولار و استاندارد نرمافزار
· کاهش تکرار کدنویسی
· استفاده مجدد از منطق کنترلی
· حفظ وضعیت داخلی تجهیزات
· توسعه آسان پروژههای EPC
· کاهش زمان Commissioning
· افزایش قابلیت نگهداری و عیبیابی
· امکان استانداردسازی کتابخانههای نرمافزاری
در ادامه ، به بررسی تخصصی FB41 (CONT_C)، مهمترین بلوک PID در STEP7 Classic خواهیم پرداخت؛ شامل ساختار الگوریتم، پارامترها، روش تنظیم (Tuning)، نحوه استفاده در کنترل فشار، دما، سطح و دبی، و مثالهای عملی از پروژههای پالایشگاه، پتروشیمی و نیروگاه. این بخش یکی از کلیدیترین مباحث برای مهندسان کنترل و مدیران پروژههای فرآیندی خواهد بود. پس با مقالات آتی الکترونت در زمینه آموزش تخصصی PLC زیمنس STEP7 Classic همراه باشید.
